﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace SoftHotel.Models
{
    public class Cliente
    {
        [Key]
        public int idCliente { get; set; }

        [DisplayName("Nombres")]
        public string nombres { get; set; }

        //  [Required(ErrorMessage = "El apellido paterno del cliente es requerido")]

        [DisplayName("Apellido Paterno")]
        public string apellidoPaterno { get; set; }

        //   [Required(ErrorMessage = "El apellido materno del cliente es requerido")]

        [DisplayName("Apellido Materno")]
        public string apellidoMaterno { get; set; }


        [DisplayName("Correo Electrónico")]
        [RegularExpression("[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}", ErrorMessage = "Sintaxis incorrecta")]
        public string email { get; set; }

        [Required(ErrorMessage = "El tipo de documento es requerido")]
        [DisplayName("Tipo de Documento")]
        public int? tipoDoc { get; set; }

        [Required(ErrorMessage = "El número de documento del cliente es requerido")]
        [DisplayName("Numero de Documento")]
        public string numDoc { get; set; }

        [Required(ErrorMessage = "El tipo de cliente es requerido")]
        [DisplayName("Tipo de Cliente")]
        //[RegularExpression("[A-Za-z0-9\\s]*")]
        public int? tipo { get; set; }

        [DisplayName("Razón Social")]
        [DisplayFormat(ConvertEmptyStringToNull = false)]
        public string razonsocial { get; set; }

        public int? estado { get; set; }

        [ForeignKey("tipo")]
        public Parametro objTipoCliente { get; set; }

        [ForeignKey("estado")]
        public Parametro objEstado { get; set; }

        [ForeignKey("tipoDoc")]
        public Parametro objeTipoDoc { get; set; }
        
    }
}